﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Coolite.Ext.Web;
using System.Text;
using ENT.PM.Core;
using ENT.PM.Core.Lookup;
using ENT.PM.Core.Proyecto;
using Subgurim.Controles;
using ENT.PM.Core.Core;

public partial class Proyectos_wucViewProyecto : System.Web.UI.UserControl
{
    DataSet proyectos = new DataSet();

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            this.Page.UICulture = "es";
            EstadoProyectoLookup.InvalidateCache();
            TipoLookup.InvalidateCache();
            EjesLookup.InvalidateCache();
            ProgramaLookup.InvalidateCache();
            StoreEstado.DataSource = EstadoProyectoLookup.GetNameValueList();
            StoreEstado.DataBind();
            StoreTipo.DataSource = TipoLookup.GetNameValueList();
            StoreTipo.DataBind();
            StoreEje.DataSource = EjesLookup.GetNameValueList();
            StoreEje.DataBind();
            StoreProgramas.DataSource = ProgramaLookup.GetNameValueList();
            StoreProgramas.DataBind();
        }
    }
    protected void btnBuscar_Click(object sender, AjaxEventArgs e)
    {
        try
        {
            ProyectoCriterio criterio = ProyectoCriterio.NewProyectoCriterio();
            if (cbxProgramas.SelectedIndex == -1)
                criterio.ProgramaId = 0;
            else
                criterio.ProgramaId = Convert.ToInt32(cbxProgramas.SelectedItem.Value);

            if (cbxEje.SelectedIndex == -1)
                criterio.EjeId = 0;
            else
                criterio.EjeId = Convert.ToInt32(cbxEje.SelectedItem.Value);

            if (cbxCategorias.SelectedIndex == -1)
                criterio.TipoId = 270;
            else
                criterio.TipoId = Convert.ToInt32(cbxCategorias.SelectedItem.Value);

            if (cbxEstado.SelectedIndex == -1)
                criterio.EstadoId = 0;
            else
                criterio.EstadoId = Convert.ToInt32(cbxEstado.SelectedItem.Value);

            criterio.Nombre = txtNombrePrograma.Text;

            StoreProyectos.DataSource = ProyectoLista.GetProyectoLista(criterio);
            StoreProyectos.DataBind();
        }
        catch { }
    }
    protected void VerUbicacion(object sender, AjaxEventArgs e)
    {
        try
        {
            string Id = e.ExtraParams["Id"];
            int idProy;
            Proyecto objProyecto;
            int.TryParse(Id,out idProy);
            string comando = e.ExtraParams["Comando"];
            string nombre = e.ExtraParams["Nombre"];
            double latitud = Convert.ToDouble(e.ExtraParams["Latitud"]);
            double longitud = Convert.ToDouble(e.ExtraParams["Longitud"]);
            string urlUbicacion;
            switch (comando)
            {
                case "Ubicacion":
                    urlUbicacion = string.Format("{0}Georeferencial/UbicacionMapa.aspx?IdP={1}", ConfigurationManager.AppSettings.Get("PathServer"), Id);
                    winUbicacion.LoadContent(urlUbicacion,true);
                    winUbicacion.SetTitle("Ubicación geográfica del proyecto: " + nombre); //
                    winUbicacion.Show();
                    break;
                case "Editar": 
                    wucProyecto1.Show(Convert.ToInt32(Id));
                    break;
                case "Eliminar":
                    wucProyecto1.Show(Convert.ToInt32(Id),comando);
                    break;
                case "QViabilidad":
                    objProyecto = Proyecto.GetProyecto(idProy);
                    objProyecto.Viabilidad = "NO";
                    objProyecto.Save();
                    btnBuscar_Click(sender, e);
                    break;
                case "QDictamen":
                    objProyecto = Proyecto.GetProyecto(idProy);
                    objProyecto.Dictamen= "NO";
                    objProyecto.Save();
                    btnBuscar_Click(sender, e);
                    break;
            }
        }
        catch (Exception ex)
        {
            Util.RegistarLog(ex.ToString());
        }

    }
}
